/* 
1 输入框绑定 值改变事件 input事件
  1 获取到输入框的值
  2 合法性判断 
  3 检验通过 把输入框的值 发送到后台
  4 返回的数据打印到页面上
2 防抖 （防止抖动） 定时器  节流 
  0 防抖 一般 输入框中 防止重复输入 重复发送请求
  1 节流 一般是用在页面下拉和上拉 
  1 定义全局的定时器id
 */
Page({
  data: {
    grlist:[],
    // 输入框的值
    inpValue:""
  },
  TimeId:-1,
  // 输入框的值改变 就会触发的事件
  handleInput(e){
    // 1 获取输入框的值
    const {value}=e.detail;
    // 2 检测合法性
    if(!value.trim()){
      this.setData({
        grlist:[]
      })
      // 值不合法
      return;
    }
    // 3 准备发送请求获取数据
    clearTimeout(this.TimeId);
    this.TimeId=setTimeout(() => {
      var that = this
      // wx.cloud.database().collection('grlist')
      //       .get({//查询操作
      //           //请求成功
      //           success(res){
      //             that.setData({
      //               grlist:res.data
      //             })
      //           },
      //           //请求失败
      //           fail(err){
      //               console.log('请求失败',err)
      //           }
      //       })
      const db = wx.cloud.database() 
      const _ = db.command
      db.collection('grlist').where(_.or([
        {
          editDate:{
            $regex:value,
            $options: 'i'
          }
        },
        {
          retitle:{
            $regex:value,
            $options: 'i'
          }
        }
      ]))
      .get({
        success: function(res) {
          that.setData({
            grlist:res.data
          })
        },
        fail(err){
            console.log('请求失败',err)
        }
      })
    }, 500);
  },

  // 点击 取消按钮
  handleCancel(){
    this.setData({
      inpValue:"",
      isFocus:false,
      goods:[]
    })
  }
})